import dayjs from '@/plugins/dayjs.js' // dayjs
/**
 * @description 注册全局属性（3.0针对2.0去除过滤器的的迁移方案）
 * @param app
 */
const registerFilter = (app) => {
  const filters = {
    /**
     * @description 格式化时间，默认YYYY-MM-DD HH:mm:ss
     * @param data 字符串、时间戳、Date对象
     * @param formatStr 格式：YYYY-MM-DD HH:mm:ss
     * @return {*} 格式化时间字符串
     */
    formatTime: (data, formatStr) => {
      // 日期格式化
      if (data) {
        formatStr = formatStr || 'YYYY-MM-DD HH:mm:ss'
        return dayjs(data).format(formatStr)
      } else {
        return ''
      }
    },
  }
  // 2.0注册全局过滤器
  // Object.keys(filters).forEach(key => {
  //   Vue.filter(key, filters[key])
  // })

  // 3.0废除了过滤器，所以使用全局属性
  // 示例<p>{{ $filters.formatTime(data) }}</p>
  app.config.globalProperties.$filters = {}
  Object.keys(filters).forEach((key) => {
    app.config.globalProperties.$filters[key] = filters[key]
  })
}

export default registerFilter
